package com.sig.formes;

import java.util.ArrayList;
import java.util.List;

/**
 * @author trt
 *	construit un triangle isocele a partir d'un point de localisation
 */
public class Localisator extends Forme {


	private volatile Triangle _loc = null;
	private volatile Point _position;

	//parametre de generation du triangle
	public static float hauteur=0.6f;
	public static float largeur= -0.6f;


	///////////////////////////:CONSTRUCTEUR://///////////////////
	public Localisator() {
		this._position = new Point();
		this.creer();
		this.cree = true;
	}

	private void creer() {
		//generation du triangle
		Point gauche = new Point((this._position.getX() - (largeur/2)), 
				(this._position.getY() + hauteur));
		Point droite = new Point((this._position.getX() + (largeur/2)), 
				(this._position.getY() + hauteur));
		this._loc = new Triangle(_position, gauche, droite);
	}

	/////////////////////////:GETTERS AND SETTERS://///////////////////

	public Point getPosition()
	{
		return this._position;
	}

	public void SetPosition(Point p)
	{
		this._position = p;
		p.setX(p.getX()*1000);
		p.setY(p.getY()*1000);
		//maj du triangle en consequence
		this.creer();
	}

	public void SetPosition(float longi, float lat)
	{
		this.SetPosition(new Point(longi, lat));
	}

	public Point getPosistion()
	{
		return this._position;
	}

	/////////////////////////:OPENGL://///////////////////
	@Override
	public List<Triangle> getTriangles() {
		if(this._loc == null)
		{
			this.creer();
		}
		ArrayList<Triangle> res = new ArrayList<Triangle>();
		if(this._loc != null)
		{
			res.add(this._loc);
		}
		return res;
	}




}
